package cn.ainit.sys.pagescript;

import java.util.List;

import cn.ainit.sys.pages.config.entity.ConfigObject;
import cn.ainit.sys.pagescript.entity.ButtonObject;
import cn.ainit.sys.query.datastore.DataStore;
import cn.ainit.sys.ui.forms.Columns;

public interface PageCommonDao {

	/***
	 * 根据ID 查找按钮
	 * @param butId
	 * @return
	 * @throws Exception
	 */
	ButtonObject findButObjectById(String butId) throws Exception;
	/***
	 * 执行按钮语句
	 * @param sqlTxt
	 * @param sqlParamStr
	 * @return
	 * @throws Exception
	 */
	String executeSql(String sqlTxt, String[] sqlParamStr) throws Exception;
	/***
	 * 执行存储过程
	 * @param procTxt
	 * @param procParamStr
	 * @return
	 * @throws Exception
	 */
	String[] executeProc(String procTxt, String[] procParamStr) throws Exception;
	/***
	 * 获取界面
	 * @param configId
	 * @return
	 * @throws Exception
	 */
	ConfigObject findConfigObj(String configId) throws Exception;
	/***
	 * 获取DS配置
	 * @param sdId
	 * @return
	 * @throws Exception
	 */
	DataStore findDataStoreById(String sdId) throws Exception;
	/***
	 * 获取所有字段
	 * @param dsId
	 * @return
	 * @throws Exception
	 */
	List<Columns> findColumnsById(String dsId) throws Exception;
	/**
	 * 获取主键值
	 * @param sql
	 * @return
	 * @throws Exception
	 */
	String getMaxPkStr(String sql) throws Exception;
	/***
	 * 保存对象sql
	 * @param sqlText
	 * @param valuesArr
	 * @return
	 * @throws Exception
	 */
	boolean saveObject(String sqlText, String[] valuesArr) throws Exception;
	/***
	 * 更新表中数据
	 * @param sqlText
	 * @param valuesArr
	 * @param whereValue
	 * @return
	 * @throws Exception
	 */
	boolean updateObject(String sqlText, String[] valuesArr, String[] whereValue) throws Exception;
}
